!!!###!!!title=56- VChart 如何设置柱状图的柱子宽度——VisActor/VChart FAQ 文档!!!###!!!!!!###!!!description=---title: 37. VChart 如何设置柱状图的柱子宽度</br>--- !!!###!!!

问题标题

如何设置柱状图的柱宽度,期望图表容器变大时,柱子宽度不变

问题描述

请问怎么设置柱状图的柱宽度,期望图表容器变大时,柱子宽度不变,始终是16px

解决方案

VChart 的柱图支持一组柱宽度配置项:

  • barWidth:宽度
  • barMinWidth:最小宽度
  • barMaxWidth: 最大宽度

VChart 默认的柱宽度是与图表容器宽度相关的,这样的逻辑能保证图表容器较小时,柱子之间依然不会重叠。
实际使用时,如果有柱子宽度固定大小的需求,可以用 barWidth ,如果只是不期望柱子太宽不美观的话,可以使用 barMaxWidth 限制它的最大宽度,这样容器比较小时,也能正确展示。

代码示例

const spec = {
  type: 'bar',
  data: [
    {
      id: 'barData',
      values: [
        { month: 'Monday', sales: 22 },
        { month: 'Tuesday', sales: 13 },
        { month: 'Wednesday', sales: 25 },
        { month: 'Thursday', sales: 29 },
        { month: 'Friday', sales: 38 }
      ]
    }
  ],
  barWidth: 16,
  // barMaxWidth: 16,
  xField: 'month',
  yField: 'sales'
};

const vchart = new VChart(spec, { dom: CONTAINER_ID });
vchart.renderSync();

// Just for the convenience of console debugging, DO NOT COPY!
window['vchart'] = vchart;</br>

结果展示

Demo: https://codesandbox.io/p/sandbox/vchart-disabletriggerevent-forked-n5z7cl?file=%2Fsrc%2Findex.js%3A30%2C1

相关文档

Demo:https://codesandbox.io/p/sandbox/vchart-disabletriggerevent-forked-n5z7cl?file=%2Fsrc%2Findex.js%3A30%2C1
教程: